package dotest;

/**
 * 给一个数值数组，请实现算法从小到大的排序。
 */
public class QuickSort {

    public static void main(String[] args) {
        int []arr = {1,2,3,4,5,6,7,8,11,31,-1,-2,-11,1,-99};

        int len = arr.length;
        /*
        * 快速排序法
        * 遍历数组，从0开始往后尾跑
        * 遇到小的，就放在当前位置
        * 遍历完，直接交换位置，（if判断消耗计算机指令，寄存器会做比较运算，影响速度，直接换位）
        * */
        for (int i = 0; i < len; i++) {
            int k=i;
            for (int j = i+1; j < len; j++) {
                if (arr[j]<arr[k]){
                    k=j;
                }
            }
            int temp = arr[i];
            arr[i]=arr[k];
            arr[k]=temp;
        }
        //打印结果
        for (int i = 0; i < len; i++) {
            System.out.print(arr[i]+" ");
        }
    }
}
